AWS Route 53 and CloudFront

../main.png

Amazon Route 53

route53.png

DNS란 무엇인가?

DNS(도메인 이름 시스템)는 인터넷의 전화번호부와 같다. 규칙과 레코드의 모음집으로, 클라이언트가 URL을 통해 올바른 서버를 찾아갈 수 있게 도와준다.

Route 53의 주요 레코드 유형

  • A 레코드: 도메인 이름을 IPv4 주소로 매핑한다.
  • AAAA 레코드: 도메인 이름을 IPv6 주소로 매핑한다.
  • CNAME 레코드: 호스트 이름을 다른 호스트 이름과 매핑한다.
  • 별칭 레코드: 호스트 이름을 AWS 리소스(예: ELB, CloudFront, S3, RDS 등)에 매핑한다.

DNS 동작 방식

  1. 웹 브라우저: 사용자가 웹 브라우저를 통해 URL을 입력한다.
  2. DNS 요청: 브라우저는 DNS 서버에 URL에 대한 IP 주소를 요청한다.
  3. DNS 응답: DNS 서버는 해당 URL에 대한 IP 주소를 응답한다.
  4. 서버 연결: 브라우저는 IP 주소를 이용해 서버에 연결하고, 서버는 HTTP 응답을 반환한다.

Route 53 라우팅 정책

1. 단순 라우팅 정책

simple.png
상태 확인 없이 단일 IP를 반환한다.

2. 가중치 기반 라우팅 정책

weighted.png
트래픽을 여러 인스턴스에 가중치에 따라 분산한다.

3. 지연 시간 라우팅 정책

latency.png
사용자 위치에 따라 가장 가까운 서버로 트래픽을 리디렉션한다.

4. 장애 조치 라우팅 정책

failover.png
기본 인스턴스에 장애가 발생하면 장애 조치 인스턴스로 리디렉션한다.

Amazon CloudFront

cloudfront.png

CDN이란 무엇인가?

CloudFront는 콘텐츠 전송 네트워크(CDN)로, 여러 엣지 로케이션에서 웹사이트의 콘텐츠를 캐싱하여 읽기 성능을 향상시킨다. 전 세계에서 콘텐츠를 캐싱하기 때문에 사용자 대기 시간이 단축되어 사용자 경험을 개선할 수 있다.

CloudFront의 주요 기능

  • 콘텐츠 캐싱: 전 세계 216개 엣지 로케이션에서 콘텐츠를 캐싱한다.
  • DDoS 방어: 전 세계 여러 서버에 분산하여 DDoS 공격을 방어한다.
  • 보안 강화: AWS Shield 및 WAF와 통합하여 보안을 강화한다.

CloudFront와 Origin 설정

CloudFront는 다양한 Origin을 지원하여 정적 및 동적 콘텐츠를 제공할 수 있다.

Origin 유형

  • Amazon S3 버킷: 정적 파일을 저장하고 제공.
  • HTTP 서버: EC2 인스턴스, 온프레미스 서버 등.
  • Elastic Load Balancer: 여러 서버에 요청을 분산.
  • AWS Lambda@Edge: 동적 콘텐츠 생성 또는 요청 처리.

설정 방법

  1. CloudFront 배포 생성: CloudFront 콘솔에서 배포를 생성한다.
  2. Origin 설정: S3 버킷 또는 HTTP 서버를 Origin으로 설정한다.
  3. Cache Behavior 설정: 정적 콘텐츠와 동적 콘텐츠에 대한 캐싱 정책을 설정한다.
  4. SSL/TLS 설정: ACM에서 SSL 인증서를 생성하고 CloudFront에 적용한다.

CloudFront와 S3 복제의 차이점

  • CloudFront: 전 세계 엣지 로케이션을 통해 정적 콘텐츠를 캐싱 및 제공. 글로벌 캐싱을 통해 빠른 응답 시간 제공.
  • S3 리전 간 복제: 특정 리전 간의 버킷 복제를 통해 데이터 복제. 실시간으로 파일을 업데이트하고 복제하며, 주로 동적 콘텐츠에 사용.